package com.xmg.p2p.base.service;

import com.xmg.p2p.base.domain.UserFile;
import com.xmg.p2p.base.query.PageResult;
import com.xmg.p2p.base.query.UserFileQueryObject;

import java.util.List;

public interface UserFileService {
    /**
     * 根据用户是否选择了风控材料分类来获取对应的风控材料对象信息
     * @return 参数为 false 返回 没有选择风控分类的 信息
     *         参数为 true 返回 选了风控分类的 信息
     */
    List<UserFile> listUserFilesHasSelectType(boolean hasType);

    /**
     * 处理上传用户风控文件
     * @param fileName
     */
    void apply(String fileName);

    /**
     * 处理用户风控文件类型选择
     * @param ids
     * @param fileTypes
     */
    void selectTypes(Long[] ids, Long[] fileTypes);

    /**
     * 根据查询条件进行查询
     * @param qo
     * @return
     */
    PageResult query(UserFileQueryObject qo);

    /**
     * 后台风控材料的审核
     * @param state 审核状态
     * @param score 审核分数
     * @param remark 审核说明
     * @param id  风控材料对应对象的id
     */
    void aduit(Long id, String remark, int score, int state);

    /**
     * 根据条件获取对应的风控材料集合
     * @param qo
     * @return
     */
    List<UserFile> queryForList(UserFileQueryObject qo);
}
